home *** CD-ROM | disk | FTP | other *** search
/ Aminet 22 / Aminet 22 (1997)(GTI - Schatztruhe)[!][Dec 1997].iso / Aminet / dev / cross / c64_ass_v1_0.lha / C64_ass_V1.0 / Syntax < prev   
Text File  |  1997-08-23  |  3KB  |  91 lines

  1. /*    Syntax for the OEJ6510-assembler by Oyvind Jergan 1997
  2.  *
  3.  *    - {a, b, c} indicates set
  4.  *    - U indicates union of sets
  5.  *    - [a b c ...] indicates sequence of symbols a b c ...
  6.  *    - All symbols can be separated by white caracters
  7.  *    - Only words starting with capital letters are domains
  8.  */
  9.  
  10. Program        =    [Line Line ... Line]
  11.  
  12. Line            =    EOF
  13.         |       EOL
  14.         |    [; Comment EOL]
  15.         |    [/ * Comment * / Line]
  16.         |    [# Assdir Line]
  17.         |    [Variable Line]
  18.         |    [Variable: Line]
  19.         |    [Variable = Exp Line]
  20.         |    [* = Exp Line]
  21.         |    [Instr Instr-mode Line]
  22.         |    [Data Line]
  23.  
  24. Comment        =    String
  25. Variable    =    String
  26.  
  27. Assdir        =    [set Setting]
  28.         |    [option Option]
  29.  
  30. Setting        =    s_loadaddress        ; default is the clc of the first byte in file 
  31.  
  32. Option        =    o_use_pet_ascii        ; use pet_ascii instead of ascii   
  33.         |    o_casesens        ; case-sensitive variable-match
  34.         |    o_show_var_def        ; show variables as they are defined        |    o_show_var_ref        ; list variables with number of references
  35.         |    o_show_var_ref        ; list variables with number of references
  36.         |    o_show_instr_ref    ; list instructions with number of references
  37.         |    o_show_instr_all    ; list all legal instructions (with number of r.)
  38.         |    o_show_output        ; show the output from assembler
  39.         |    o_show_errorline        ; show the line where an error occurs
  40.         |    o_show_1_e_on_line      ; show only one error at each line
  41.                         ; for all options: 1 = true, 0 = false (default false)
  42.  
  43. Instr-mode    =    EOL            ; implied
  44.         |    a            ; accumulator
  45.         |    [# Exp]            ; immidiate
  46.         |    Exp            ; zeropage | absolute | relative
  47.         |    [Exp , x]        ; zeropage,x | absolute,x
  48.         |    [Exp , y]        ; zeropage,y | absolute,y
  49.         |    [( Exp )]           ; indirect
  50.         |    [( Exp , x )]         ; indirect,x
  51.         |    [( Exp ) , y]         ; indirect,y
  52.  
  53. Data            |    [.bytes Exp]            ; assemble Exp number of .byte 0
  54.         |    [.byte Exp ... Exp]    ; 0 < Exp < 256
  55.         |    [.word Exp ... Exp]    ; 0 < Exp < 65536
  56.         |    [.text " Ascii ... Ascii "]
  57.  
  58. Exp        =    Decnr
  59.         |    Hexnr
  60.         |    Binnr
  61.         |    [" Ascii "]
  62.         |    [+ Exp]
  63.         |    [- Exp]
  64.         |    [Exp + Exp]
  65.         |    [Exp - Exp]
  66.         |    [Exp * Exp]
  67.         |    [Exp / Exp] 
  68.         |    [ < Exp]        ; lowbyte
  69.         |    [ > Exp]        ; highbyte    
  70.         |    *            ; current location pointer
  71.         |    [( Exp )]
  72.  
  73. Decnr        =    [Ds ... Ds]
  74. Hexnr        =    [$ Hs ... Hs]
  75. Binnr        =    [% Bs ... Bs]
  76. String        =    [Al Ds ... Ds]
  77.  
  78. Ds member of DS    =    { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
  79. Hs member of HS    =    DS U { a, b, c, d, e, f, A, B, C, D, E, F}
  80. Bs member of BS    =    {0, 1}
  81. Al member of AL =    {a, b, ..., z} U {A, B, ..., Z} U {_}
  82. Ascii member of        {ascii caracters}
  83.  
  84. EOL        =    Cr            ; $0a
  85.  
  86. EOF        =    EndOfFile        ; last byte of source read 
  87. White        =    Space
  88.         |    Tab
  89.         |    Linefeed        ; $0d
  90.  
  91.